﻿using ZR.Model;
using ZR.Model.Souvenir;
using ZR.Model.Souvenir.Dto;

namespace ZR.Service.Souvenir.IService
{
    public interface IOrderService : IBaseService<Order>
    {
        Task<int> InsertOrderAsync(Order order);
        
        Task<int> UpdateOrderAsync(Order order);

        Task<int> DeleteOrderAsync(int orderId);
        
        Task<PagedInfo<OrderDto>> SelectOrderWithPageAsync(OrderQueryDto orderQueryDto);
        
        Task<Order> SelectOrderAsyncById(int orderId);
        
        Task<object> SelectSalesPerYearAsync(DateTime year);
        
        Task<object> SelectSalesPerMonthAsync(DateTime month);

        Task<object> SelectSalesWithCategoryAsync();
    }
}